package main

import (
	"GORM_Demo04/part07/TestStruct"
	"fmt"

	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

/*
一对一操作向表中插入一条数据
关联关系创建在哪个表中，就对哪个表进行操作

association方式，需要先查询出当前表在查询关联表

	【1】 db.First(&userInfo, "info_id = ?", 1)
	【2】db.Debug().Model(&userInfo).Association("User").Find(&userInfo.User)
*/
func main() {
	db, err := gorm.Open("mysql", "root:123456@tcp(192.168.11.189:3306)/lztest?charset=utf8&parseTime=True&loc=Local")

	if err != nil {
		panic(err)
	}
	defer db.Close()
	//创建表
	/*db.CreateTable(&TestStruct.User{})
	db.CreateTable(&TestStruct.UserInfo{})*/

	var userInfo TestStruct.UserInfo
	//如果只是执行下面这步操作，那么关联的User信息是查询不到的：
	db.First(&userInfo, "info_id = ?", 1)
	fmt.Println(userInfo) //{1 北京石景山区 222@qq.com {0  0} 1}

	//使用 进行查看SELECT * FROM `users`  WHERE (`uid` = 1)
	db.Debug().Model(&userInfo).Association("User").Find(&userInfo.User)

	fmt.Println(userInfo)

}
